﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tnelab.WebApp
{
    public interface IUIService
    {
        string Name { get; }
        IWebBrowser WebBrowser { get; }
    }
    public interface IWebWindow:IUIService
    {
        void UIInvoke(Action action);        
        WebBrowserType BrowserType { get; }
        IntPtr Handle { get; }
        IWebWindow? Parent { get; }
        string Url { get; set; }
        WindowState WindowState { get; set; }
        string? Icon { get; set; }
        string Title { get; set; }
        bool SizeAble { get; set; }
        int X { get; set; }
        int Y { get; set; }
        int Width { get; set; }
        int Height { get; set; }
        int MinWidth { get; set; }
        int MinHeight { get; set; }
        bool ShowInTaskBar { get; set; }
        bool TopMost { get; set; }

        void Show();
        void ShowDialog();
        void Hide();
        void OnMove();
        void Close();
        Task NewWindow(string name, string url);
        Task<string> CallJs(string script);
        void SetPosition(StartPosition position);
        void OnChangeSize(int wmszValue);
    }
}
